﻿using System;
using System.Collections.Generic;

namespace MyVideoManager2.Data
{
    public enum genreFilm
    {
        ACTION,
        COMEDIE,
        ROMANTIQUE,
        SCIENCEFICTION,
        HEROICFANTASY,
        TRAGEDIE,
        ENFANT
    };

    [Windows.Foundation.Metadata.WebHostHidden]
    public class Film : MyVideoManager2.Common.BindableBase
    {
        private static Uri _baseUri = new Uri("ms-appx:///");

        public Film(String uniqueId, String titreFilm, String realisateurFilm, String cheminFilm, Dossier dossier, genreFilm genrePrincipal, genreFilm genreSecondaire, String descriptionFilm, int anneeSortie, int note, String titreFilmOriginal)
        {
            this._Dossier = dossier;
            this.anneeSortie = anneeSortie;
            this.cheminFilm = cheminFilm;
            this.descriptionFilm = descriptionFilm;
            this.titreFilm = titreFilm;
            this.realisateurFilm = realisateurFilm;
            this.genrePrincipal = genrePrincipal;
            this.genreSecondaire = genreSecondaire;
            this.note = note;
            this._uniqueId = uniqueId;
            this.titreFilmOriginal = titreFilmOriginal;
        }

        private string _uniqueId = string.Empty;
        public string UniqueId
        {
            get { return this._uniqueId; }
            set { this.SetProperty(ref this._uniqueId, value); }
        }

        private String titreFilm;

        public String TitreFilm
        {
            get { return titreFilm; }
            set { titreFilm = value; }
        }

        private String titreFilmOriginal;

        public String TitreFilmOriginal
        {
            get { return titreFilmOriginal; }
            set { titreFilmOriginal = value; }
        }

        private String realisateurFilm;

        public String RealisateurFilm
        {
            get { return realisateurFilm; }
            set { realisateurFilm = value; }
        }

        private List<String> lstActeur; // liste d'acteur.

        public List<String> LstActeur
        {
            get { return lstActeur; }
            set { lstActeur = value; }
        }

        private String cheminFilm;

        public String CheminFilm
        {
            get { return cheminFilm; }
            set { cheminFilm = value; }
        }

        private genreFilm genrePrincipal;

        internal genreFilm GenrePrincipal
        {
            get { return genrePrincipal; }
            set { genrePrincipal = value; }
        }

        private genreFilm genreSecondaire;

        internal genreFilm GenreSecondaire
        {
            get { return genreSecondaire; }
            set { genreSecondaire = value; }
        }

        private String descriptionFilm;

        public String DescriptionFilm
        {
            get { return descriptionFilm; }
            set { descriptionFilm = value; }
        }

        private int note; //nombre d'etoile que l'on donne au film (va de 0 à 5)

        public int Note
        {
            get { return note; }
            set { note = value; }
        }

        private int anneeSortie;

        public int AnneeSortie
        {
            get { return anneeSortie; }
            set { anneeSortie = value; }
        }

        private Dossier _Dossier;

        public Dossier Dossier
        {
            get { return this._Dossier; }
            set { this.SetProperty(ref this._Dossier, value); }
        }

        public override string ToString()
        {
            return this.TitreFilm;
        }

        public bool IsEdit { get; set; }
    }
}
